﻿//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;

//using Microsoft.VisualStudio.TestTools.UnitTesting;

//using Pibby.Core.Common;

//namespace Pibby.Core.Persistence.Tests
//{
//    [Table("Stored")]
//    public class StorableClass
//    {
//        public StorableClass()
//        {
//        }

//        [Column("StorageID")]
//        public int DbKey
//        {
//            get;
//            set;
//        }

//        [Column("StoredName", IsLookup = true)]
//        public string Name
//        {
//            get;
//            set;
//        }

//        [Column("StoredValue")]
//        public int Value
//        {
//            get;
//            set;
//        }
//    }

//    [TestClass]
//    public class PersistenceModelTests
//    {
//        [TestMethod]
//        public void PersistenceModel_LoadMetaData_PersistableClass_IsNotNull()
//        {
//            PersistenceModel model = new PersistenceModel();

//            TableMetadata table = model.LoadDataFor(typeof (StorableClass));

//            Assert.IsNotNull (table);
//        }

//        [TestMethod]
//        public void PersistenceModel_LoadMetaData_PersistableClass_ReturnsMetaData()
//        {
//            PersistenceModel model = new PersistenceModel();

//            TableMetadata table = model.LoadDataFor(typeof (StorableClass));

//            Assert.AreEqual("Stored", table.Name);
//            Assert.AreEqual(3, table.Columns.Count);
//        }

//        [TestMethod]
//        [ExpectedException (typeof (ContractFailureException))]
//        public void PersistenceModel_LoadMetaData_UnpersistableClass_ThrowsException()
//        {
//            PersistenceModel model = new PersistenceModel();

//            model.LoadDataFor(typeof(StringBuilder));
//        }
//    }
//}
